package yunjiao.designpatterns.command;

import yunjiao.designpatterns.command.devices.Appliance;

import java.util.List;

/**
 * TODO
 *
 * @author yangyunjiao
 */
public abstract class Command {

    protected String name;

    protected Appliance appliance;

    public Command(String name, Appliance appliance) {
        super();
        this.name = name;
        this.appliance = appliance;
    }

    public Appliance appliance() {
        return appliance;
    }

    public String name() {
        return name;
    }

    public abstract void execute();

    public abstract List<String> keywords();

}
